package so.sao.shop.supplier.dao;

import so.sao.shop.supplier.domain.CheckingAccountRecord;

import java.util.List;

/**
 * <p>Version: supplier V1.2.0 </p>
 * <p>Title: CheckingAccountRecordDao</p>
 * <p>Description: 对账记录</p>
 *
 * @author: fangzhou
 * @Date: Created in 2017/11/22 11:14
 */
public interface CheckingAccountRecordDao {
    /**
     * 新增对账记录
     * @param checkingAccountRecord 对账记录对象
     * @return boolean
     */
    void save(CheckingAccountRecord checkingAccountRecord);


       /**
     * 根据对账人id和对账状态为未对账查对应的对账记录
     * @param checkerId  对账人id
     * @return CheckingAccountRecord 对账记录对象
     */
    List<CheckingAccountRecord> findByCheckerId(Long checkerId);
    /**
     * 根据对账人id和最近的对账状态为已对账查对应的对账记录
     * @param checkerId  对账人id
     * @return CheckingAccountRecord 对账记录对象
     */
    List<CheckingAccountRecord> findRecordByCheckerId(Long checkerId);

      /**
     *根据对账记录Id更新对账状态为已失效
     * @param Id 计量规格对象
     * @return Boolean
     */
    void updateIsCheckingById(Long Id);

    /**
     * 更新文件名，最大、最小时间，状态，总条数，成功条数，失败条数，错误行号，匹配时间，更新时间
     * @param accountRecord
     */
    void updateById(CheckingAccountRecord accountRecord);

}
